﻿namespace ScrumFactory.Services
{
    using System.ServiceModel;
    using System.Collections.Generic;

    [ServiceContract()]
    public interface IBacklogService
    {
        [OperationContract()]
        ICollection<BacklogItem> GetCurrentBacklog(string projectUId);

        [OperationContract()]
        ICollection<BacklogItem> GetBacklog(string projectUId);

        [OperationContract()]
        void SaveBacklog(string projectUId, ICollection<BacklogItem> backlogItems);
        
        [OperationContract()]
        BacklogItem GetBacklogItem(string backlogItemUId);

        [OperationContract()]
        void AddBacklogItem(BacklogItem item);

        [OperationContract()]
        void UpdateBacklogItem(BacklogItem item);

        [OperationContract()]
        void UpdateBacklogItemIgnoringHours(BacklogItem item);

        [OperationContract()]
        void DeleteBacklogItem(string backlogItemUId);

        [OperationContract()]
        ICollection<BurndownLeftHoursByDay> GetBurndownHoursByDay(string projectUId);

        [OperationContract()]
        ICollection<BurndownLeftHoursByDay> GetBurndownHoursByDayProposalPlanning(string projectUId);

        [OperationContract()]
        ICollection<BurndownLeftHoursByDay> GetBurndownHoursByDayFirstPlanning(string projectUId);
    }
}
